// $ANTLR 3.5.2 Graphics.g 2021-01-23 02:51:21
package ch04.antlr;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class GraphicsLexer extends Lexer {
	public static final int EOF=-1;
	public static final int T__6=6;
	public static final int T__7=7;
	public static final int T__8=8;
	public static final int T__9=9;
	public static final int INT=4;
	public static final int WS=5;

	// delegates
	// delegators
	public Lexer[] getDelegates() {
		return new Lexer[] {};
	}

	public GraphicsLexer() {} 
	public GraphicsLexer(CharStream input) {
		this(input, new RecognizerSharedState());
	}
	public GraphicsLexer(CharStream input, RecognizerSharedState state) {
		super(input,state);
	}
	@Override public String getGrammarFileName() { return "Graphics.g"; }

	// $ANTLR start "T__6"
	public final void mT__6() throws RecognitionException {
		try {
			int _type = T__6;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:2:6: ( ',' )
			// Graphics.g:2:8: ','
			{
			match(','); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "T__6"

	// $ANTLR start "T__7"
	public final void mT__7() throws RecognitionException {
		try {
			int _type = T__7;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:3:6: ( 'from' )
			// Graphics.g:3:8: 'from'
			{
			match("from"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "T__7"

	// $ANTLR start "T__8"
	public final void mT__8() throws RecognitionException {
		try {
			int _type = T__8;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:4:6: ( 'line' )
			// Graphics.g:4:8: 'line'
			{
			match("line"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "T__8"

	// $ANTLR start "T__9"
	public final void mT__9() throws RecognitionException {
		try {
			int _type = T__9;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:5:6: ( 'to' )
			// Graphics.g:5:8: 'to'
			{
			match("to"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "T__9"

	// $ANTLR start "INT"
	public final void mINT() throws RecognitionException {
		try {
			int _type = INT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:6:5: ( ( '0' .. '9' )+ )
			// Graphics.g:6:7: ( '0' .. '9' )+
			{
			// Graphics.g:6:7: ( '0' .. '9' )+
			int cnt1=0;
			loop1:
			while (true) {
				int alt1=2;
				int LA1_0 = input.LA(1);
				if ( ((LA1_0 >= '0' && LA1_0 <= '9')) ) {
					alt1=1;
				}

				switch (alt1) {
				case 1 :
					// Graphics.g:
					{
					if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
						input.consume();
					}
					else {
						MismatchedSetException mse = new MismatchedSetException(null,input);
						recover(mse);
						throw mse;
					}
					}
					break;

				default :
					if ( cnt1 >= 1 ) break loop1;
					EarlyExitException eee = new EarlyExitException(1, input);
					throw eee;
				}
				cnt1++;
			}

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INT"

	// $ANTLR start "WS"
	public final void mWS() throws RecognitionException {
		try {
			int _type = WS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// Graphics.g:10:4: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
			// Graphics.g:10:6: ( ' ' | '\\t' | '\\r' | '\\n' )
			{
			if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			skip();
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WS"

	@Override
	public void mTokens() throws RecognitionException {
		// Graphics.g:1:8: ( T__6 | T__7 | T__8 | T__9 | INT | WS )
		int alt2=6;
		switch ( input.LA(1) ) {
		case ',':
			{
			alt2=1;
			}
			break;
		case 'f':
			{
			alt2=2;
			}
			break;
		case 'l':
			{
			alt2=3;
			}
			break;
		case 't':
			{
			alt2=4;
			}
			break;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
			{
			alt2=5;
			}
			break;
		case '\t':
		case '\n':
		case '\r':
		case ' ':
			{
			alt2=6;
			}
			break;
		default:
			NoViableAltException nvae =
				new NoViableAltException("", 2, 0, input);
			throw nvae;
		}
		switch (alt2) {
			case 1 :
				// Graphics.g:1:10: T__6
				{
				mT__6(); 

				}
				break;
			case 2 :
				// Graphics.g:1:15: T__7
				{
				mT__7(); 

				}
				break;
			case 3 :
				// Graphics.g:1:20: T__8
				{
				mT__8(); 

				}
				break;
			case 4 :
				// Graphics.g:1:25: T__9
				{
				mT__9(); 

				}
				break;
			case 5 :
				// Graphics.g:1:30: INT
				{
				mINT(); 

				}
				break;
			case 6 :
				// Graphics.g:1:34: WS
				{
				mWS(); 

				}
				break;

		}
	}



}
